//
//  YHPMainTabBarController.swift
//  SinaSwift
//
//  Created by Yan on 16/3/5.
//  Copyright © 2016年 baidu. All rights reserved.
//

import UIKit

class YHPMainTabBarController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
    
        // 给 YHPMainTabBarController 创建 YHPMainTabBar 类型的 名为 : mainTabBar 的TabBar
        let mainTabBar = YHPMainTabBar()
//        print(tabBar)
        
        /*
        <UITabBar: 0x7fc1b9d5d4d0; frame = (0 618; 375 49); autoresize = W+TM; layer = <CALayer: 0x7fc1b9d5c8d0>>
        */
        // MARK  KVC方式添加 TabBar
        setValue(mainTabBar, forKey: "TabBar")
//        print(mainTabBar.classForCoder)
        /*
        YHPMainTabBar
        */
        
        // 调用添加导航控制器函数
        addChildControllers()
    
    }
    
    // 自定义添加 导航控制器及其根控制器 函数
    func addChildControllers() {
        
        addChildViewController(YHPHomeTableViewController(), title: "首页", imageName: "tabbar_home")
        addChildViewController(YHPDiscoverTableViewController(), title: "发现", imageName: "tabbar_discover")
         addChildViewController(YHPMessageTableViewController(), title: "消息", imageName: "tabbar_message_center")
         addChildViewController(YHPProfileTableViewController(), title: "我", imageName: "tabbar_profile")
    }
    
    // 根据传入的控制器 创建导航控制器及其根控制器
    func addChildViewController(vc: UIViewController, title:String, imageName:String){
        
        // 设置控制器的title
        vc.title = title
        // 设置控制器对应的tabbaritem的title
        vc.tabBarItem.title = title
        // 设置控制器对应的tababritem的image
        vc.tabBarItem.image = UIImage(named: imageName)
        // 设置整个tabbar的  tintcolor
        tabBar.tintColor = UIColor.orangeColor()
        // 设置选中图片
        vc.tabBarItem.selectedImage = UIImage(named: imageName + "_selected")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
        
        // 初始化一个导航控制器,跟控制器为 vc
        let nav = UINavigationController(rootViewController: vc)
        addChildViewController(nav)
        
    }
    
}
